package com.surfacing.rcp.db.dao.factory;

import com.surfacing.rcp.db.dao.AnforderungDAO;
import com.surfacing.rcp.db.dao.DienststelleDAO;
import com.surfacing.rcp.db.dao.DoctorDAO;
import com.surfacing.rcp.db.dao.EinsatzartDAO;
import com.surfacing.rcp.db.dao.JournalDAO;
import com.surfacing.rcp.db.dao.NacaDAO;
import com.surfacing.rcp.db.dao.NfsDAO;
import com.surfacing.rcp.db.dao.ProtokollNrDAO;
import com.surfacing.rcp.db.dao.StatAnforderungDAO;
import com.surfacing.rcp.db.dao.StatDienststelleDAO;
import com.surfacing.rcp.db.dao.StatDoctorDAO;
import com.surfacing.rcp.db.dao.StatEinsatzartDAO;
import com.surfacing.rcp.db.dao.StatNacaDAO;
import com.surfacing.rcp.db.dao.StatNfsDAO;
import com.surfacing.rcp.db.dao.StatTransportzielDAO;
import com.surfacing.rcp.db.dao.TransportzielDAO;
import com.surfacing.rcp.db.dao.UserDAO;
import com.surfacing.rcp.db.dao.UserLoginDAO;
import com.surfacing.rcp.db.dao.mysql.AnforderungDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.DienststelleDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.DoctorDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.EinsatzartDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.JournalDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.NacaDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.NfsDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.ProtokollNrDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.StatAnforderungDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.StatDienststelleDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.StatDoctorDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.StatEinsatzartDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.StatNacaDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.StatNfsDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.StatTransportzielDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.TransportzielDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.UserDAOMySQL;
import com.surfacing.rcp.db.dao.mysql.UserLoginDAOMySQL;

/**
 * Provides the specialized dao factory methods to access a sql source
 * 
 * @author Michael
 */
public class DaoFactoryMySql implements DaoFactory {

	@Override
	public NfsDAO createNfsDAO() {
		return new NfsDAOMySQL();
	}

	@Override
	public DoctorDAO createDoctorDAO() {
		return new DoctorDAOMySQL();
	}

	@Override
	public AnforderungDAO createAnforderungDAO() {
		return new AnforderungDAOMySQL();
	}

	@Override
	public NacaDAO createNacaDAO() {
		return new NacaDAOMySQL();
	}

	@Override
	public TransportzielDAO createTransportzielDAO() {
		return new TransportzielDAOMySQL();
	}

	@Override
	public DienststelleDAO createDienststelleDAO() {
		return new DienststelleDAOMySQL();
	}

	@Override
	public EinsatzartDAO createEinsatzartDAO() {
		return new EinsatzartDAOMySQL();
	}

	@Override
	public JournalDAO createJournalDAO() {
		return new JournalDAOMySQL();
	}

	@Override
	public UserLoginDAO createUserDAO() {
		return new UserLoginDAOMySQL();
	}

	@Override
	public UserDAO createStaffMemberDAO() {
		return new UserDAOMySQL();
	}

	@Override
	public StatNfsDAO createStatNfsDAO() {
		return new StatNfsDAOMySQL();
	}

	@Override
	public StatDoctorDAO createStatDoctorDAO() {
		return new StatDoctorDAOMySQL();
	}

	@Override
	public StatEinsatzartDAO createStatEinsatzartDAO() {
		return new StatEinsatzartDAOMySQL();
	}

	@Override
	public StatTransportzielDAO createStatTransportzielDAO() {
		return new StatTransportzielDAOMySQL();
	}

	@Override
	public StatAnforderungDAO createStatAnforderungDAO() {
		return new StatAnforderungDAOMySQL();
	}

	@Override
	public StatDienststelleDAO createStatDienststelleDAO() {
		return new StatDienststelleDAOMySQL();
	}

	@Override
	public StatNacaDAO createStatNacaDAO() {
		return new StatNacaDAOMySQL();
	}
	
	@Override
	public ProtokollNrDAO createProtokollNrDAO() {
		return new ProtokollNrDAOMySQL();
	}
}
